<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<h:head>
	<link rel="icon" href="../images/logo.png" type="image/ico" />
	<style type="text/css">
.ui-layout-north {
	z-index: 20 !important;
	overflow: visible !important;;
}

.ui-layout-north .ui-layout-unit-content {
	overflow: visible !important;
}

.ui-widget {
	font-size: 9px !important;
}

.size {
	width: 750px;
	position: relative;
	left: 18%;
	top: 10%;
}

.tabela {
	width: 750px;
}
</style>

	<title>Cadastro de Funcionário</title>
</h:head>

<h:body>
	<ui:decorate template="/templateBase.xhtml">
		<ui:define name="center">
			<p:growl id="msgNot" life="3000" autoUpdate="true" />
			<h:form prependId="false" id="formCadastro"
				acceptcharset="ISO-8859-1" lang="pt">
				<br />
				<br />
				<br />
				<br />
				<p:panel header="Cadastro de Funcionário" styleClass="size"
					footer="Integração - Portal de Serviços e Comunicação">
					<p:tabView>
						<br />
						<!-- Aba de dados pessoais  -->
						<p:tab title="Dados Pessoais">
							<br />
							<h:panelGrid columns="3" id="pn1">
								<h:outputText value="Nome..:(*) " />
								<p:inputText size="50" required="true"
									requiredMessage="Nome obrigatorio"
									value="#{funcionarioBacking.funcSalvar.nome}" />

								<p:commandButton icon="ui-icon-search"
									oncomplete="dlgPesquisa.show()" upprocess="@all"
									immediate="true" />

							</h:panelGrid>

							<h:panelGrid columns="2" id="pn2">
								<h:outputText value="E-mail:(*)" />
								<p:inputText size="50" required="true"
									value="#{funcionarioBacking.funcSalvar.email}"
									requiredMessage="Informe um e-mail válido">
									<f:validateRegex
										pattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$" />
								</p:inputText>
								<h:outputText value="CPF....:(*)" id="txtCpf" />
								<p:inputMask id="cpf" mask="999.999.999-99" required="true"
									requiredMessage="CPF obrigatorio"
									value="#{funcionarioBacking.funcSalvar.cpf}">
								</p:inputMask>
								<h:outputText value="Data Nasc." />
								<p:calendar
									value="#{funcionarioBacking.funcSalvar.dataNascimento}" />
								<h:outputText value="Cargo:" />
								<p:selectOneMenu
									value="#{funcionarioBacking.codigoCargoSelecionado}">
									<f:selectItem itemLabel="Selecione" itemDisabled="true" />
									<f:selectItems value="#{funcionarioBacking.listaCargo}" var="c"
										itemLabel="#{c.descricao}" itemValue="#{c.id}" />
								</p:selectOneMenu>
								<h:outputText value="Depto:" />
								<p:selectOneMenu
									value="#{funcionarioBacking.codigoDepSelecionado}">
									<f:selectItem itemLabel="Selecione" itemDisabled="true" />
									<f:selectItems value="#{funcionarioBacking.listaDepartamento}"
										var="dep" itemValue="#{dep.id}" itemLabel="#{dep.nome}" />
								</p:selectOneMenu>

							</h:panelGrid>

						</p:tab>

						<!-- ABA LOGIN -->
						<p:tab title="Permissão de Acesso">
							<p:tabView>

								<p:tab title="Usuário">
									<h:panelGrid columns="2">
										<h:outputText value="Usuário:(*)" />
										<p:inputText id="user"
											value="#{funcionarioBacking.user.login}" />

										<h:outputText value="Senha:(*)" />
										<p:password id="pw" feedback="true"
											promptLabel="Digite sua Senha" weakLabel="Senha Fraca"
											goodLabel="Senha Média" strongLabel="Senha Forte"
											redisplay="true" match="pw2"
											validatorMessage="As senhas não podem ser diferentes!" />
										<h:outputText value="Confirmar Senha:(*)" />

										<p:password id="pw2" feedback="false" redisplay="true"
											value="#{funcionarioBacking.user.senha}" />

									</h:panelGrid>
								</p:tab>
								<p:tab title="Perfil de Acesso">
									<h:panelGrid>
										<h:outputText value="O que o usuário podera acessar?:(*)" />
									</h:panelGrid>
									<br />
									<p:dataTable value="#{funcionarioBacking.listaFuncionalidade}"
										var="f" rowKey="#{f.codigo}"
										selection="#{funcionarioBacking.funcionalidadeSelecionada}">

										<p:column selectionMode="multiple">

										</p:column>

										<p:column headerText="ID">
											<div align="center">
												<h:outputText value="#{f.codigo}" />
											</div>
										</p:column>

										<p:column headerText="Sigla">
											<div align="center">
												<h:outputText value="#{f.sigla}" />
											</div>
										</p:column>

										<p:column headerText="Descrição dos Programas">
											<h:outputText value="#{f.descricao}" />
										</p:column>

										<p:column headerText="URL do Programa">
											<h:outputText value="#{f.url}" />
										</p:column>

									</p:dataTable>

								</p:tab>
							</p:tabView>
						</p:tab>

					</p:tabView>
					<hr />
					<div align="center">
						<h:panelGrid columns="3">
							<p:commandButton value="Salvar"
								update="formPesquisa:tblPesquisaFunc"
								actionListener="#{funcionarioBacking.salvar}" ajax="false" />
							<p:commandButton value="Limpar Formulário"
								actionListener="#{funcionarioBacking.reset}" />
							<p:commandButton value="Cancelar" />
						</h:panelGrid>
					</div>

				</p:panel>

			</h:form>

			<p:dialog widgetVar="dlgPesquisa" width="550" height="400"
				footer="Integração - Portal de Serviços e Comunicação"
				header="Pesquisa de Funcionários" showEffect="clip"
				hideEffect="clip">
				<h:form id="formPesquisa" acceptcharset="ISO-8859-1" lang="pt">
					<br />
					<p:dataTable id="tblPesquisaFunc" paginator="true" rows="10"
						value="#{funcionarioBacking.listaFuncionario}" var="f"
						emptyMessage="Nenhum funcionário encontrado!">
						<p:column headerText="ID">
							<h:outputText value="#{f.id}" />
						</p:column>
						<p:column headerText="Nome">
							<h:outputText value="#{f.nome}" />
						</p:column>
						<p:column headerText="Data de Nascimento">
							<div align="center">
								<h:outputText value="#{f.dataNascimento}">
									<f:convertDateTime pattern="dd/MM/yyyy" />
								</h:outputText>
							</div>
						</p:column>
						<p:column headerText="Ações">
							<div align="center">
								<p:commandButton icon="ui-icon-check" update=":formCadastro"
									actionListener="#{funcionarioBacking.selecionaFuncionario(f)}"
									onclick="dlgPesquisa.hide()" />
							</div>
						</p:column>
					</p:dataTable>
				</h:form>
			</p:dialog>

		</ui:define>
	</ui:decorate>
</h:body>
</html>